VOZÍTKO OVLÁDANÉ ARDUINO NANO
Vágner Vlastimil
Chtěl jsem si odzkoušet ovládání čtyř el.motorků, dva motorky vždy současně ovládané jedním výstupem modulu L298 řízených Arduino Nano s příjmem dat přijímaných modulem BLUETOOTH JDY-33 z tabletu (chytrého telefonu). Pro tento účel jsem zvolil stavebnici hotového podvozku se čtyřmi el.motorky zakoupené společně s deskami Arduino Nano a modulem L298 v [1], napsal program pro použitý motorový driver L298. Program společně se zapojením může posloužit pro inspiraci při podobných pokusech a rozšiřují zapojení uveřejněná ve [2]. Pro ovládání podvozku je možné použít jak Arduino Nano tak Arduino Uno program funguje na obou deskách.
STRUČNÝ POPIS STAVEBNICE A MODULU
BLUETOOTH JDY-33
Stavebnice podvozku je vyrobena z plastu barvu je možné volit při
objednání z nabízených barevných variant. Ve stavebnici jsou všechny
potřebné díly k sestavení včetně klece na čtyři tužkové články „AA“ . Použité el.motorky lze napájet napětím od 3V do 6V DC
v mém případě jsou motorky řízeny z Arduino Nano regulací PWM. Modul bluetooth JDY-33 má shodné ovládání jako
modul HC-06 pro případ zadávání AT kódů je možné použít sériový terminál
ARDUINO.EXE který používám v zapojeních uveřejněných ve [2], nebo jakýkoliv jiný terminál. Při
napájení modulu bluetooth napětím 5V připojením na vstup VCC je nutné použít pro komunikaci převodník
napěťových úrovní tvořený dvěma rezistory, nebo použít obousměrný převodník
napěťových úrovní s tranzistory možné také zakoupit v [1]. Modul bluetooth JDY-33 je možné napájet napětím
3.3V připojením na
vstup PWRC. JE NUTNO DÁT POZOR NA TO ŽE NESMÍ BÝT NAPÁJECÍ
NAPĚTÍ SOUČASNĚ PŘIPOJENO NA VSTUP „VCC“ A „PWRC“ JINAK DOJDE KE ZNIČENÍ
MODULU.
POPIS MONTÁŽE
Jako první na motorky naletujeme vodiče a odrušovací kondenzátory 100NF poté si spárujeme motorky tak aby se pokud možno vždy dvojice točila shodně na oba směry protože motorky ve stavebnici mají nectnost se na jednu stranu točit o něco rychleji „ toto u kdysi používaných el.motorků GONIO nebylo nutné“. Po této kontrole odstraníme z výlisku obou dílů podvozku ochrannou folii a osadíme dvojice motorků na podvozek. Na druhý díl podvozku který bude tvořit horní díl si rozvrhneme rozložení modulu motorového driveru, svorkovnice pro Arduino Nano jde o DPS osazený konektorem možno zakoupit v [1], držáku tužkových baterií. Označíme si otvory a vyvrtáme po vyvrtání začistíme otvory osadíme moduly včetně klece pro tužkové baterie oba díly smontujeme dohromady a provedeme zapojení podle Obr.č.01, pokud bude požit pro komunikaci ARDUINO Nano s bluetooth odporový dělič podle Obr.č.01 tento si vyrobíme na univerzální vrtané destičce a také osadíme na horní díl podvozku. Co nejblíže k motorovému driveru L298 osadíme elektrolytický kondenzátor 4700uF/16V tento kondenzátor pokrývá poklesy napětí při sepnutí motorů při použití tužkových článku nevalné kvality pokud jsou použity pro pohon. Propojením modulů je vlastní montáž ukončena, napájení modulu Arduino Nano i motorového driveru je napětím 6V, modul bluetooth je napájen z výstupu/vstupu Arduino Nano označeného 5V. Výstup TXD na modulu bluetooth je připojený na vstup PIN10 Arduino Nano, vstup RXD modulu bluetooth je přes odporový dělič připojený na PIN11 Arduino Nano. PIN9 Arduino Nano je připojený na vstup motorového driveru označený „AKTIVACE „A“ ENÁBLE“, PIN8 Arduino Nano je připojený na vstup L298 označený IN1, PIN7 Arduino Nano je připojený na vstup IN2 L298, PIN5 Arduino Nano je připojený na vstup L298 IN3, PIN4 je připojený na vstup L298 IN4, PIN3 Arduino Nano je připojený na vstup motorového driveru označený „AKTIVACE „B“ ENÁBLE“. označení vstupů a výstupů na motorovém driveru L298 jsou převzaty z popisu v [1]. Stejné PINY jsou použity i v případě použití desky Arduino Uno.
POPIS PROGRAMU
Program má název BLUETOOTH_L298.INO je uložený v adresáři PROGRAM. Po propojení počítače PC kabelem s deskou Arduino Nano po spuštění programovacího editoru pro programování Arduina si zvolíme použitý mikrokontrolér Arduino Nano který bude použit pro ovládání podvozku. Po volbě nahrajeme do editoru program BLUETOOTH_L298.INO a nahrajeme do použitého mikrokontroléru. Po nahrání ukončíme na počítači programovací editor odpojíme programovací kabel a naprogramovaný mikrokontrolér Arduino Nano osazený na destičce osadíme do patice na podvozku ve které jsou připojeny vodiče tím je naprogramování ukončeno a podvozek je připravený k dalšímu programování hodnot pomocí BLUETOOTH JDY-33 s tabletem (chytrým telefonem). Celkem je v programu zadáváno šest hodnot oddělených čárkami 1,0,0,1,250,250. První dvě hodnoty v pořadí jsou pro směr otáčení motorků připojených do svorek OUT1, OUT2 motoru označeného „A“, druhé dvě hodnoty v pořadí jsou pro směr otáčení motorků připojených do svorek označených OUT3, OUT4 motoru označeného „B“. Třetí hodnota v pořadí je pro hodnotu otáček motorů připojených do svorek OUT1, OUT2 hodnota je PWM. Čtvrtá hodnota v pořadí je pro hodnotu otáček motorů připojených do svorek OUT3, OUT4 hodnota je PWM. Hodnota PWM se zadává v rozsahu „0 – 255“.
Příklad zadávaných hodnot : 1,0,0,1,200,180, 0,1,1,0,150,200 pro povel STOP zadáváme 0,0,0,0,0,0.
POPIS OVLÁDÁNÍ PODVOZKU
Na
ovládání komunikace Arduino Nano s bluetooth modulem na podvozku je použit terminál pro
sériovou komunikaci nahraným v tabletu (chytrém telefonu) pro android, použitý
terminál má předvoleno deset tlačítek označených M1 až M10. Po rozkliknutí tlačítka
M1 až M10 je možné do každého rozkliknutého tlačítka zadávat parametry pro směr
otáček a rychlost podle zadané hodnoty v PWM pro program v Arduino Nano.
Ovládání pomocí těchto tlačítek je čistě individuální
věc moje rozvrhnutí je takto : M1 =
jízda vpřed, M2 = zatáčení vlevo, M3 = zatáčení vpravo, M4 = maximální otáčky motorků při jízdě
vpřed, M5 = jízda vzad, M6 = zatáčení vlevo při jízdě vzad, M7 = zatáčení vpravo při jízdě vzad, M8 = maximální otáčky motorků při jízdě
vzad, M9 NEVYUŽITO, M10 = STOP pro oba směry. Při jízdě
vpřed si úpravami hodnot PWM vždy pro dvojici motorků nastavíme aby jel podvozek rovně, to samé
provedeme při jízdě podvozku vzad, zatáčení vlevo provedeme tak že pro motorky
na levé straně při
jízdě vpřed snížíme hodnotu PWM
(nejnižší hodnotu PWM nutno odzkoušet) a pro dvojici motorků na pravé
straně zvýšíme hodnotu PWM na maximální hodnotu PWM 254!.
Takto nastavíme i zatáčení při jízdě vpřed pro zatáčení vpravo zde zadáváme
maximální hodnotu PWM (254) pro dvojici motorků na levé straně při jízdě vpřed a pro
dvojici motorků na pravé straně při jízdě vpřed zadáme nejnižší hodnotu PWM
(nejnižší hodnotu PWM nutno odzkoušet). Stejně postupujeme i při zadávání
hodnoty PWM pro zatáčení vlevo, vpravo při jízdě vzad. Při jízdě vpřed pokud chceme zatáčet například vlevo stiskneme
navolené tlačítko v mém případě M2 a až se podvozek zatočí
na požadovaný směr opět klikneme na tlačítko
pro jízdu rovně v mém případě M1, POKUD CHCEME ZMĚNIT JÍZDU Z NAVOLENÉHO SMĚRU VPŘED/VZAD
NA JÍZDU VZAD/VPŘED MUSÍME VŽDY PODVOZEK ZASTAVIT PŘÍKAZEM STOP, TENTO POSTUP
JE NUTNÝ JINAK MŮŽE DOJÍT KE ZNIČENÍ MOTORVÉHO DRIVERU L298, STEJNĚ TAK BY SE
ZNIČIL I MOTOROVÝ DRIVER L9110S POKUD JE POUŽIT. Při spuštění
terminálu na tabletu v nastavení vypneme volbu CR+LF pokud by zůstala tato
volba navolena tak po zadání hodnot by došlo při dalším průchodu smyčkou
v programu k vymazání zadaných hodnot, tato změna zůstane
v programu terminál navolena.
Použitá stavebnice s deskou Arduino Nano a svorkovnicí pro tuto desku
Použitá deska Arduino Nano se svorkovnicí detailní pohled
Testování programu BLUETOOTH_L298
Vyrobený převodník pro komunikaci bluetooth – Arduino Nano
Detail osazených motorků
Hotový podvozek testování programu
Pohled na osazené moduly na podvozku
Motorový driver L298
Arduino Nano modul s bluetooth modulem JDY-33
Vypnutí volby CR+LF v terminálu na tabletu
Předvolené volby pro zadávání hodnot
Použité prameny:
Technická dokumentace k L298 „internet“
Technická dokumentace k Arduino Nano „internet“
Technická dokumentace k bluetooth JDY-33 „internet“
[1] E-Shop Laskarduino
“popis k modulu L298, k Arduino Nano, k bluetooth modulu JDY-33
[2] www.mojeelektronika.mzf.cz
Bližší informace: